home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_c20.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
58KB
|
2,565 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_c.h"
/*No:CALL_INFIX_IMPLIES.static_value*/
/*No:CALL_INFIX_IMPLIES.call_proc_call_c2c*/
/*No:CALL_INFIX_IMPLIES.feature_name*/
void r113finalize(T113* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(C)->_run_feature/*16*/;
_rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
}
T6 r113is_static(T113* C){
T6 R=0;
/*[IF*/
if(X54is_boolean(X56result_type((C)->_target/*4*/))){
/*[IF*/
if(X56is_static((C)->_target/*4*/)){
/*[IF*/
if((X56static_value((C)->_target/*4*/))==(0)){
R=1;
C->_static_value_mem=1;
}
else if(X56is_static(r113arg1(C))){
R=1;
C->_static_value_mem=X56static_value(r113arg1(C));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.is_manifest_string*/
T0* r113start_position(T113* C){
T0* R=NULL;
R=((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
/*No:CALL_INFIX_IMPLIES.c_simple*/
T0* r113add_comment(T113* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r113to_integer(T113* C){
T2 R=0;
r113error(r113start_position(C),((T0*)ms13_45846));
return R;
}
T6 r113use_current(T113* C){
T6 R=0;
/*[IF*/
{/*AT*/R=X149use_current((C)->_arguments/*8*/);
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X56is_current((C)->_target/*4*/)){
R=X51use_current((C)->_run_feature/*16*/);
}
else{
R=X56use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
T0* r113to_runnable(T113* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r113runnable_expression((C)->_target/*4*/,a1);
_a=r113runnable_args((C)->_arguments/*8*/,a1);
_tt=X56result_type(_t);
_at=X56result_type(r113arg1(C));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r113run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r113run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T113*n=malloc(sizeof(*n));
*n=M113;
r113with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r113compile_to_c_old(T113* C){
X56compile_to_c_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149compile_to_c_old((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_IMPLIES.is_pre_computable*/
/*No:CALL_INFIX_IMPLIES.fz_bad_argument*/
void r113collect_c_tmp(T113* C){
/*[IF*/
if(((C)->_run_feature/*16*/)!=((void*)(NULL))){
X51collect_c_tmp((C)->_run_feature/*16*/);
}
/*FI]*/
X56collect_c_tmp((C)->_target/*4*/);
/*[IF*/
if(((C)->_arguments/*8*/)!=((void*)(NULL))){
X149collect_c_tmp((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_IMPLIES.fz_iinaiv*/
T0* r113result_type(T113* C){
T0* R=NULL;
T0* _tla=NULL;
R=X51result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X54is_like_current(R)){
R=/*X51current_type*/((T0*)((T324*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 258:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X54run_type(X56result_type(r113arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.static_value_mem*/
/*No:CALL_INFIX_IMPLIES.run_feature*/
T0* r113runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X149to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X149start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.fz_07*/
/*No:CALL_INFIX_IMPLIES.arg_count*/
void r113with(T113* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r113run_feature_match(C,a5);
}
/*No:CALL_INFIX_IMPLIES.is_result*/
/*No:CALL_INFIX_IMPLIES.fatal_error*/
void r113mapping_c_target(T113* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r25call_invariant_start(a1);
_actual_type=X54run_type(r113result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
X54mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
void r113run_feature_match(T113* C,T0* a1){
r113run_feature_has_result(C);
X149match_with((C)->_arguments/*8*/,(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_IMPLIES.arguments*/
T0* r113runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X56to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X56start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.can_be_dropped*/
void r113c_declare_for_old(T113* C){
X56c_declare_for_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149c_declare_for_old((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_IMPLIES.implicit_cast*/
/*No:CALL_INFIX_IMPLIES.dca_inline_argument*/
/*No:CALL_INFIX_IMPLIES.compile_to_c*/
/*No:CALL_INFIX_IMPLIES.isa_dca_inline_argument*/
T0* r113arg1(T113* C){
T0* R=NULL;
R=/*X149first*/((T0*)/*(IRF4.3first*/((T149*)((C)->_arguments/*8*/))->_first_one/*4*//*)*/);
return R;
}
void r113run_feature_has_result(T113* C){
/*[IF*/
if((X51result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r21add_position(X51start_position((C)->_run_feature/*16*/));
r21add_position(((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms117_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r113run_feature_for(T113* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type(a1));
R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_IMPLIES.target*/
void r113error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r113make(T113* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,r113operator(),a2);
C->_feature_name=(T0*)n;
}
{T149*n=malloc(sizeof(*n));
*n=M149;
/*[IRF3.3make_1*/((((T149*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_IMPLIES.is_current*/
/*No:CALL_INFIX_IMPLIES.us_implies*/
void r113mapping_c_arg(T113* C,T0* a1){
T0* _actual_type=NULL;
_actual_type=X54run_type(r113result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T113* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:CALL_INFIX_IMPLIES.is_void*/
T0* r113operator(void){
T0* R=NULL;
R=((T0*)ms14_9513);
return R;
}
void r113afd_check(T113* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type((C)->_target/*4*/));
_running=(((T24*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X56start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r24set_at_run_time(((T24*)_rc));
}
else if((r328count(((T328*)_running)))>(1)){
r331update((C)->_target/*4*/,(C)->_run_feature/*16*/);
}
/*FI]*/
X56afd_check((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149afd_check((C)->_arguments/*8*/);
}
/*FI]*/
}
void r375c_assertion_flag(T375* C){
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
/*]*/
r375c_frame_descriptor_name_in(C,((T0*)ms51_3077376));
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_30510));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
/*]*/
}
void r375c_define_opening(T375* C){
T0* _t=NULL;
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_21736));
/*]*/
}
/*FI]*/
/*[IF*/
/*AF*/if(((C)->_result_type/*40*/)!=((void*)(NULL))){
_t=X54run_type((C)->_result_type/*40*/);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
/*]*/
X54c_type_for_result_in(_t,((T0*)ms51_3077376));
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_543));
X54c_initialize_in(_t,((T0*)ms51_3077376));
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_144));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
/*]*/
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
r7append((T7*)(oBC12c_frame_descriptor_locals),((T0*)ms51_10703));
r204increment((T204*)(oBC12c_frame_descriptor_local_count));
r7append((T7*)(oBC12c_frame_descriptor_format),((T0*)ms14_7404));
X54c_frame_descriptor(_t);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
r178c_declare((T178*)((C)->_local_vars/*44*/));
}
/*FI]*/
/*[IF*/
if(r43ensure_check((T43*)(oBC12run_control))){
/*[IF*/
if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
r215c_declare_for_old((T215*)((C)->_ensure_assertion/*24*/));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
/*[IF*/
if((((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)>(0)){
r7copy((T7*)(((T0*)ms51_3077376)),((T0*)ms51_21762));
/*[IRF3.5append_in*/r2append_in(((T2)(((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)),((T0*)ms51_3077376));
/*]*/
r7extend((T7*)(((T0*)ms51_3077376)),'\135');
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_144));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
/*]*/
}
/*FI]*/
r375c_initialize_ds_one_by_one(C);
/*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
T2 _j=0;
T2 _i=0;
_j=1;
while (!((((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)==(_i))) {
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_8225));
/*]*/
/*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),_i);
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_314));
/*]*/
_c=/*(IRF4.6item*/(((T7*)(oBC12c_frame_descriptor_locals))->_storage/*0*/)[(_j)-(1)]/*)*/;
while (!((_c)==('\54'))) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1=_c;
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
_j=(_j)+(1);
_c=/*(IRF4.6item*/(((T7*)(oBC12c_frame_descriptor_locals))->_storage/*0*/)[(_j)-(1)]/*)*/;
}
_j=(_j)+(1);
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
/*]*/
_i=(_i)+(1);
}
}/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_14820a));
/*]*/
}
/*FI]*/
/*[IF*/
if(r43ensure_check((T43*)(oBC12run_control))){
/*[IF*/
if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
r215compile_to_c_old((T215*)((C)->_ensure_assertion/*24*/));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_23488));
/*]*/
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_147634));
/*]*/
}
/*FI]*/
r216compile_to_c((T216*)((C)->_rescue_compound/*52*/));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_48457));
/*]*/
}
/*FI]*/
/*[IF*/
if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
r178initialize_expanded((T178*)((C)->_local_vars/*44*/));
}
/*FI]*/
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_7601));
/*]*/
}
/*FI]*/
/*[IF*/
if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
r357compile_to_c((T357*)((C)->_require_assertion/*20*/));
}
/*FI]*/
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_58520));
/*]*/
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_14820));
/*]*/
}
/*FI]*/
}
/*FI]*/
}
void r375c_define_closing(T375* C){
/*[IF*/
if(r43ensure_check((T43*)(oBC12run_control))){
/*[IF*/
if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
r215compile_to_c((T215*)((C)->_ensure_assertion/*24*/));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r375use_current(C)){
r25current_class_invariant((C)->_current_type/*4*/);
}
/*FI]*/
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_25830));
/*]*/
}
/*FI]*/
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_19775));
/*]*/
}
/*FI]*/
}
/*No:RUN_FEATURE_11.use_current_state*/
/*No:RUN_FEATURE_11.fz_void*/
/*No:RUN_FEATURE_11.address_of_c_define*/
/*No:RUN_FEATURE_11.ucs_false*/
/*No:RUN_FEATURE_11.is_static*/
T0* r375start_position(T375* C){
T0* R=NULL;
R=r303start_position((T303*)((C)->_base_feature/*32*/));
return R;
}
/*No:RUN_FEATURE_11.c_initialize_locals_one_by_one*/
void r375mapping_name(T375* C){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='r';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),r375id(C));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X83to_key((C)->_name/*16*/));
/*]*/
}
T6 r375use_current(T375* C){
T6 R=0;
{int z1=(C)->_use_current_state/*28*/;
if((14==z1)){
R=1;
}
else
if((13==z1)){
}
else
if((15==z1)){
C->_use_current_state=16;
/*[IRF3.4compute_use_current*/r375std_compute_use_current(C);
/*]*/
R=r375use_current(C);
}
else {R=1;
}}
return R;
}
T2 r375id(T375* C){
T2 R=0;
R=X54id((C)->_current_type/*4*/);
return R;
}
void r375routine_afd_check(T375* C){
/*[IF*/
if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
r357afd_check((T357*)((C)->_require_assertion/*20*/));
}
/*FI]*/
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
r216afd_check((T216*)((C)->_routine_body/*48*/));
}
/*FI]*/
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
r216afd_check((T216*)((C)->_rescue_compound/*52*/));
}
/*FI]*/
/*[IF*/
if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
r215afd_check((T215*)((C)->_ensure_assertion/*24*/));
}
/*FI]*/
}
void r375std_compute_use_current(T375* C){
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
/*[IF*/
if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
/*[IF*/
if(r357use_current((T357*)((C)->_require_assertion/*20*/))){
C->_use_current_state=14;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
/*[IF*/
if(r216use_current((T216*)((C)->_routine_body/*48*/))){
C->_use_current_state=14;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IF*/
if(r216use_current((T216*)((C)->_rescue_compound/*52*/))){
C->_use_current_state=14;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
/*[IF*/
if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
/*[IF*/
if(r215use_current((T215*)((C)->_ensure_assertion/*24*/))){
C->_use_current_state=14;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
C->_use_current_state=13;
}
/*FI]*/
}
T0* r375run_class(T375* C){
T0* R=NULL;
R=X54run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_11.result_type*/
/*No:RUN_FEATURE_11.base_feature*/
/*No:RUN_FEATURE_11.ensure_assertion*/
/*No:RUN_FEATURE_11.static_value_mem*/
T6 r375is_exported_in(T375* C,T0* a1){
T6 R=0;
R=r101gives_permission_to((T101*)(r375clients(C)),a1);
return R;
}
void r375default_mapping_function(T375* C){
T6 _tcbd=0;
T6 _uc=0;
T6 _no_check=0;
_no_check=r43no_check((T43*)(oBC12run_control));
_uc=r375use_current(C);
/*[IF*/
if(!(_uc)){
_tcbd=r25target_cannot_be_dropped((T25*)(oBC12cpp));
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\54';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
r375mapping_name(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IF*/
if(_no_check){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_777));
/*]*/
}
/*FI]*/
/*[IF*/
if(_uc){
/*[IF*/
if(_no_check){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\54';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
r25put_target_as_target((T25*)(oBC12cpp));
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if((_uc)||(_no_check)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\54';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
r25put_arguments((T25*)(oBC12cpp));
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IF*/
if((!(_uc))&&(_tcbd)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*No:RUN_FEATURE_11.arguments*/
/*No:RUN_FEATURE_11.is_once_function*/
/*No:RUN_FEATURE_11.current_type*/
/*No:RUN_FEATURE_11.clients_memory*/
void r375add_client(T375* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T60*n=malloc(sizeof(*n));
*n=M60;
r60with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r60add_last((T60*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r60fast_index_of((T60*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T60*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r60add_last((T60*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r24add_client((T24*)(r375run_class(C)),a1);
}
/*No:RUN_FEATURE_11.ucs_in_computation*/
void r375make(T375* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r325put(((T325*)(((T24*)(r375run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X83to_key(a2));
/*]*/
r22incr_magic_count((T22*)(oBC12small_eiffel));
C->_use_current_state=15;
r22push((T22*)(oBC12small_eiffel),(T0*)C);
r375initialize(C);
r22pop((T22*)(oBC12small_eiffel));
}
/*No:RUN_FEATURE_11.routine_body*/
/*No:RUN_FEATURE_11.ucs_true*/
/*No:RUN_FEATURE_11.name*/
/*No:RUN_FEATURE_11.afd_check*/
T0* r375clients(T375* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X54base_class((C)->_current_type/*4*/);
_bfbc=((T303*)((C)->_base_feature/*32*/))->_base_class/*4*/;
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=((T303*)((C)->_base_feature/*32*/))->_clients/*20*/;
}
else{
R=r63clients_for(((T63*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
void r375c_define(T375* C){
/*[IF*/
if(r375use_current(C)){
r25incr_function_count((T25*)(oBC12cpp));
}
else{
r25incr_real_function_count((T25*)(oBC12cpp));
}
/*FI]*/
r375define_prototype(C);
r375c_define_opening(C);
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
r216compile_to_c((T216*)((C)->_routine_body/*48*/));
}
/*FI]*/
r375c_define_closing(C);
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_8364));
/*]*/
r375c_frame_descriptor(C);
}
void r375once_result_in(T375* C,T0* a1){
r7extend(((T7*)a1),'o');
r303mapping_c_name_in((T303*)((C)->_base_feature/*32*/),a1);
}
/*No:RUN_FEATURE_11.rescue_compound*/
void r375fall_down(T375* C){
T0* _rf=NULL;
T0* _sub_name=NULL;
T0* _sub_bc=NULL;
T0* _current_bc=NULL;
T0* _sub_rc=NULL;
T0* _current_rc=NULL;
T2 _i=0;
T0* _running=NULL;
_current_rc=X54run_class((C)->_current_type/*4*/);
_running=(((T24*)_current_rc))->_running/*12*/;
/*[IF*/
if((_running)!=((void*)(NULL))){
_current_bc=X54base_class((C)->_current_type/*4*/);
_i=(((T328*)_running))->_lower/*12*/;
while (!((_i)>((((T328*)_running))->_upper/*8*/))) {
_sub_rc=r328item(((T328*)_running),_i);
/*[IF*/
if((_sub_rc)!=((void*)(_current_rc))){
_sub_bc=X54base_class((((T24*)_sub_rc))->_current_type/*0*/);
_sub_name=r63new_name_of(((T63*)_sub_bc),_current_bc,(C)->_name/*16*/);
_rf=r24get_feature(((T24*)_sub_rc),_sub_name);
}
/*FI]*/
_i=(_i)+(1);
}
}
/*FI]*/
}
/*No:RUN_FEATURE_11.actuals_clients*/
/*No:RUN_FEATURE_11.us_result*/
void r375define_prototype(T375* C){
T6 _no_check=0;
T2 _mem_id=0;
_no_check=r43no_check((T43*)(oBC12run_control));
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
/*[IRF3.3reset*/((((T204*)((T204*)(oBC12c_frame_descriptor_local_count))))->_value)=(0);
/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(oBC12c_frame_descriptor_format))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC12c_frame_descriptor_format),'\42');
/*[IRF3.3clear*/((((T7*)((T7*)(oBC12c_frame_descriptor_locals))))->_count)=(0);
/*]*/
}
/*FI]*/
_mem_id=r375id(C);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
/*]*/
/*[IF*/
if(((C)->_result_type/*40*/)==((void*)(NULL))){
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_1776a));
}
else{
X54c_type_for_result_in(X54run_type((C)->_result_type/*40*/),((T0*)ms51_3077376));
}
/*FI]*/
r7extend((T7*)(((T0*)ms51_3077376)),'\40');
r7extend((T7*)(((T0*)ms51_3077376)),'r');
r2append_in(_mem_id,((T0*)ms51_3077376));
X83mapping_c_in((C)->_name/*16*/,((T0*)ms51_3077376));
r7extend((T7*)(((T0*)ms51_3077376)),'\50');
/*[IF*/
if(_no_check){
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_56460));
/*[IF*/
if((r375use_current(C))||(((C)->_arguments/*36*/)!=((void*)(NULL)))){
r7extend((T7*)(((T0*)ms51_3077376)),'\54');
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r375use_current(C)){
X54c_type_for_target_in((C)->_current_type/*4*/,((T0*)ms51_3077376));
r7extend((T7*)(((T0*)ms51_3077376)),'\40');
r7extend((T7*)(((T0*)ms51_3077376)),'C');
X54c_frame_descriptor((C)->_current_type/*4*/);
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
r7extend((T7*)(((T0*)ms51_3077376)),'\54');
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*36*/)==((void*)(NULL))){
/*[IF*/
if(_no_check){
}
else if(!(r375use_current(C))){
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_1776a));
}
/*FI]*/
}
else{
r187compile_to_c_in((T187*)((C)->_arguments/*36*/),((T0*)ms51_3077376));
}
/*FI]*/
r7extend((T7*)(((T0*)ms51_3077376)),'\51');
r25put_c_heading((T25*)(oBC12cpp),((T0*)ms51_3077376));
/*[IRF3.3swap_on_c*/((((T25*)((T25*)(oBC12cpp))))->_current_out)=(oBC25out_c);
/*]*/
}
void r375put_tag(T375* C){
T0* _fn=NULL;
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\42';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
_fn=/*(IRF4.6first_name*/r85item(((T85*)(((T303*)((C)->_base_feature/*32*/))->_names/*8*/)),1)/*)*/;
X83put_cpp_tag(_fn);
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X83to_string(_fn));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_1148));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T64*)(/*(IRF4.6base_class_name*/(((T63*)(((T303*)((C)->_base_feature/*32*/))->_base_class/*4*/)))->_name/*24*//*)*/))->_to_string/*0*/);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\42';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:RUN_FEATURE_11.c_code*/
/*No:RUN_FEATURE_11.fz_00*/
void r375c_initialize_ds_one_by_one(T375* C){
r7copy((T7*)(((T0*)ms51_3077376)),((T0*)ms51_37325));
r375c_frame_descriptor_name_in(C,((T0*)ms51_3077376));
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_144));
/*[IF*/
if(r375use_current(C)){
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_18550));
}
else{
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_11254));
}
/*FI]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
/*]*/
r25put_position_in_ds(r375start_position(C));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_11736));
/*]*/
/*[IF*/
if((((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)>(0)){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_12150));
/*]*/
}
/*FI]*/
}
/*No:RUN_FEATURE_11.ucs_not_computed*/
/*No:RUN_FEATURE_11.is_pre_computable*/
void r375collect_c_tmp(T375* C){
/*[IF*/
if(X54is_user_expanded((C)->_result_type/*40*/)){
/*[IF*/
if(X54is_dummy_expanded((C)->_result_type/*40*/)){
}
else{
r25se_tmp_add((T0*)C);
}
/*FI]*/
}
/*FI]*/
}
void r375c_frame_descriptor(T375* C){
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
r7copy((T7*)(((T0*)ms51_3077376)),((T0*)ms51_23640));
r375c_frame_descriptor_name_in(C,((T0*)ms51_3077376));
r25put_extern7((T25*)(oBC12cpp),((T0*)ms51_3077376));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\173';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r375put_tag(C);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms51_3077376)),'\54');
/*[IF*/
if(r375use_current(C)){
r7extend((T7*)(((T0*)ms51_3077376)),'1');
}
else{
r7extend((T7*)(((T0*)ms51_3077376)),'0');
}
/*FI]*/
r7extend((T7*)(((T0*)ms51_3077376)),'\54');
/*[IRF3.5append_in*/r2append_in(((T2)(((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)),((T0*)ms51_3077376));
/*]*/
r7extend((T7*)(((T0*)ms51_3077376)),'\54');
r7append((T7*)(((T0*)ms51_3077376)),oBC12c_frame_descriptor_format);
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_2316));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
/*]*/
}
/*FI]*/
}
/*No:RUN_FEATURE_11.fz_15*/
T2 r375arg_count(T375* C){
T2 R=0;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
R=/*(IRF4.6count*/(((T191*)(((T187*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
}
/*FI]*/
return R;
}
/*No:RUN_FEATURE_11.address_of_c_mapping*/
void r375mapping_c(T375* C){
T2 _tmp_expanded_idx=0;
_tmp_expanded_idx=r25se_tmp_open((T0*)C);
r375default_mapping_function(C);
/*[IF*/
if((_tmp_expanded_idx)>=(0)){
r25se_tmp_close(_tmp_expanded_idx);
}
/*FI]*/
}
void r375initialize(T375* C){
C->_arguments=((T303*)((C)->_base_feature/*32*/))->_arguments/*24*/;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if(!(r187is_runnable((T187*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T187*n=malloc(sizeof(*n));
*n=M187;
r187with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
C->_result_type=X54to_runnable(((T303*)((C)->_base_feature/*32*/))->_result_type/*56*/,(C)->_current_type/*4*/);
C->_local_vars=((T303*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
/*[IF*/
if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
C->_local_vars=r178to_runnable((T178*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
}
/*FI]*/
C->_routine_body=((T303*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
C->_routine_body=r216to_runnable((T216*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
}
/*FI]*/
/*[IF*/
if(r43require_check((T43*)(oBC12run_control))){
C->_require_assertion=r303run_require((T0*)C);
}
/*FI]*/
/*[IF*/
if(r43ensure_check((T43*)(oBC12run_control))){
C->_ensure_assertion=r303run_ensure((T0*)C);
}
/*FI]*/
C->_rescue_compound=((T303*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.3set_used*/((((T363*)((T363*)(oBC12exceptions_handler))))->_used)=(1);
/*]*/
C->_rescue_compound=r216to_runnable((T216*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
}
/*FI]*/
}
/*No:RUN_FEATURE_11.can_be_dropped*/
/*No:RUN_FEATURE_11.require_assertion*/
/*No:RUN_FEATURE_11.compute_use_current*/
/*No:RUN_FEATURE_11.local_vars*/
void r375c_frame_descriptor_name_in(T375* C,T0* a1){
r7extend(((T7*)a1),'f');
r2append_in(r375id(C),a1);
X83mapping_c_in((C)->_name/*16*/,a1);
}
/*No:PROC_CALL_N.call_proc_call_c2c*/
/*No:PROC_CALL_N.feature_name*/
void r165run_feature_match(T165* C,T0* a1){
r165run_feature_has_no_result(C);
X149match_with((C)->_arguments/*16*/,(C)->_run_feature/*12*/,a1);
}
/*No:PROC_CALL_N.arguments*/
T0* r165runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X56to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X56start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r165finalize(T165* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(C)->_run_feature/*12*/;
_rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
}
T0* r165start_position(T165* C){
T0* R=NULL;
R=X83start_position((C)->_feature_name/*8*/);
return R;
}
T0* r165add_comment(T165* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
/*AF*/else{
{T225*n=malloc(sizeof(*n));
*n=M225;
r225make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r165run_feature_has_no_result(T165* C){
/*[IF*/
if((X51result_type((C)->_run_feature/*12*/))!=((void*)(NULL))){
r21add_position(X51start_position((C)->_run_feature/*12*/));
r21add_position(X83start_position((C)->_feature_name/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms162_67122);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T6 r165use_current(T165* C){
T6 R=0;
/*[IF*/
if((r165arg_count(C))>(0)){
R=X149use_current((C)->_arguments/*16*/);
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X56is_current((C)->_target/*4*/)){
R=X51use_current((C)->_run_feature/*12*/);
}
else{
R=X56use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
void r165compile_to_c(T165* C){
r25se_trace_ins((T25*)(oBC12cpp),r165start_position(C));
/*[IRF3.6call_proc_call_c2c*/{T165* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
}
T0* r165to_runnable(T165* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r165runnable_expression((C)->_target/*4*/,a1);
_a=r165runnable_args((C)->_arguments/*16*/,a1);
_rf=r165run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r165run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*16*/)))){
R=(T0*)C;
}
else{
{T165*n=malloc(sizeof(*n));
*n=M165;
r165with(n,_t,(C)->_feature_name/*8*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:PROC_CALL_N.is_pre_computable*/
/*No:PROC_CALL_N.fz_bad_argument*/
void r165collect_c_tmp(T165* C){
/*[IF*/
if(((C)->_run_feature/*12*/)!=((void*)(NULL))){
X51collect_c_tmp((C)->_run_feature/*12*/);
}
/*FI]*/
X56collect_c_tmp((C)->_target/*4*/);
/*[IF*/
if(((C)->_arguments/*16*/)!=((void*)(NULL))){
X149collect_c_tmp((C)->_arguments/*16*/);
}
/*FI]*/
}
/*No:PROC_CALL_N.set_run_feature*/
T0* r165run_feature_for(T165* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type(a1));
R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*8*/,a2);
return R;
}
/*No:PROC_CALL_N.target*/
/*No:PROC_CALL_N.run_feature*/
/*No:PROC_CALL_N.end_mark_comment*/
void r165make(T165* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
T0* r165runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X149to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X149start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:PROC_CALL_N.fz_07*/
T0* r165make_runnable(T165* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=a1;
C->_arguments=a2;
C->_run_feature=a3;
R=(T0*)C;
}
else{
{T165*n=malloc(sizeof(*n));
*n=M165;
r165make(n,a1,(C)->_feature_name/*8*/,a2);
R=(T0*)n;
}
/*[IRF3.3set_run_feature*/((((T165*)(((T165*)R))))->_run_feature)=(a3);
/*]*/
}
/*FI]*/
return R;
}
void r165afd_check(T165* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type((C)->_target/*4*/));
_running=(((T24*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X56start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r24set_at_run_time(((T24*)_rc));
}
else if((r328count(((T328*)_running)))>(1)){
r331update((C)->_target/*4*/,(C)->_run_feature/*12*/);
}
/*FI]*/
X56afd_check((C)->_target/*4*/);
/*[IF*/
if((r165arg_count(C))>(0)){
X149afd_check((C)->_arguments/*16*/);
}
/*FI]*/
}
T2 r165arg_count(T165* C){
T2 R=0;
R=X149count((C)->_arguments/*16*/);
return R;
}
void r165with(T165* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r165run_feature_match(C,a5);
}
/*No:PROC_CALL_N.fatal_error*/
/*No:TYPE_EXPANDED.fz_void*/
/*No:TYPE_EXPANDED.start_position*/
void r275standard_c_print_function(T275* C){
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
r24c_print_function((T24*)(r275run_class(C)));
}
/*FI]*/
}
void r275used_as_reference(T275* C){
/*[IF*/
if(X54is_expanded((C)->_mapped/*12*/)){
r24used_as_reference((T24*)(r275run_class(C)));
}
/*FI]*/
}
T2 r275id(T275* C){
T2 R=0;
R=((T24*)(r275run_class(C)))->_id/*4*/;
return R;
}
T6 r275is_user_expanded(T275* C){
T6 R=0;
/*[IF*/
if(X54is_basic_eiffel_expanded((C)->_mapped/*12*/)){
}
else{
R=1;
}
/*FI]*/
return R;
}
T6 r275is_pointer(T275* C){
T6 R=0;
R=X54is_pointer((C)->_mapped/*12*/);
return R;
}
T0* r275to_runnable(T275* C,T0* a1){
T0* R=NULL;
T0* _m=NULL;
/*[IF*/
if(((C)->_run_type/*20*/)==((void*)(C))){
R=(T0*)C;
}
else if(((C)->_run_type/*20*/)==((void*)((C)->_mapped/*12*/))){
R=(T0*)C;
}
else{
_m=X54to_runnable((C)->_mapped/*12*/,a1);
/*[IF*/
if((_m)==((void*)(NULL))){
r21add_position((C)->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms275_42042);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(((C)->_run_type/*20*/)!=((void*)(NULL))){
{T275*n=malloc(sizeof(*n));
*n=M275;
r275from_other(n,(T0*)C,X54run_type(_m));
R=(T0*)n;
}
}
else if(X54is_expanded(_m)){
C->_run_type=_m;
C->_run_time_mark=X54run_time_mark(_m);
R=(T0*)C;
}
else if(((C)->_mapped/*12*/)==((void*)(X54run_type(_m)))){
C->_run_time_mark=r275compute_mark(X54run_time_mark(_m));
C->_run_type=(T0*)C;
R=(T0*)C;
}
else{
C->_run_time_mark=r275compute_mark(X54run_time_mark(_m));
{T275*n=malloc(sizeof(*n));
*n=M275;
r275from_other(n,(T0*)C,X54run_type(_m));
C->_run_type=(T0*)n;
}
R=(T0*)C;
}
/*FI]*/
r24set_at_run_time((T24*)(X54run_class((C)->_mapped/*12*/)));
r24set_at_run_time((T24*)(X54run_class((((T275*)R))->_run_type/*20*/)));
}
/*FI]*/
return R;
}
void r275c_initialize_in(T275* C,T0* a1){
/*[IF*/
if(r275is_basic_eiffel_expanded(C)){
X54c_initialize_in((C)->_run_type/*20*/,a1);
}
else{
/*[IF*/
if(r275need_c_struct(C)){
r24c_object_model_in((T24*)(r275run_class(C)),a1);
}
else{
r7extend(((T7*)a1),'0');
}
/*FI]*/
}
/*FI]*/
}
/*No:TYPE_EXPANDED.gc_define1*/
void r275to_reference(T275* C){
/*[IF*/
if(X54is_expanded((C)->_mapped/*12*/)){
r25to_reference((T25*)(oBC12cpp),(T0*)C,r24to_reference((T24*)(r275run_class(C))));
}
else{
r25to_reference((T25*)(oBC12cpp),(T0*)C,(C)->_mapped/*12*/);
}
/*FI]*/
}
void r275gc_mark_in(T275* C,T0* a1){
r7append(((T7*)a1),((T0*)ms13_8869));
r2append_in(r275id(C),a1);
}
T0* r275run_class(T275* C){
T0* R=NULL;
R=r22run_class((C)->_run_type/*20*/);
return R;
}
/*No:TYPE_EXPANDED.c_header_pass2*/
/*No:TYPE_EXPANDED.c_header_pass4*/
/*No:TYPE_EXPANDED.is_like_current*/
T6 r275is_bit(T275* C){
T6 R=0;
R=X54is_bit((C)->_mapped/*12*/);
return R;
}
T0* r275smallest_ancestor(T275* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_run_time_mark/*16*/)==((void*)(X54run_time_mark(a1)))){
R=(C)->_run_type/*20*/;
}
else{
R=X54run_type(X54smallest_ancestor((C)->_mapped/*12*/,a1));
}
/*FI]*/
return R;
}
/*No:TYPE_EXPANDED.fatal_error*/
/*No:TYPE_EXPANDED.run_time_mark*/
/*No:TYPE_EXPANDED.is_expanded*/
/*No:TYPE_EXPANDED.gc_info_in*/
/*No:TYPE_EXPANDED.gc_define2*/
/*No:TYPE_EXPANDED.is_like_feature*/
/*No:TYPE_EXPANDED.fz_dot*/
T6 r275is_a(T275* C,T0* a1){
T6 R=0;
R=X54is_a((C)->_mapped/*12*/,a1);
/*[IF*/
if(!(R)){
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
r21add_type((T0*)C,((T0*)ms13_17730));
r21add_type(a1,((T0*)ms13_47));
}
/*FI]*/
return R;
}
/*No:TYPE_EXPANDED.written_mark*/
void r275c_initialize(T275* C){
/*[IF*/
if(r275is_basic_eiffel_expanded(C)){
X54c_initialize((C)->_run_type/*20*/);
}
else{
r275c_initialize_expanded(C);
}
/*FI]*/
}
T6 r275is_character(T275* C){
T6 R=0;
R=X54is_character((C)->_mapped/*12*/);
return R;
}
/*No:TYPE_EXPANDED.fz_expanded*/
void r275make(T275* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_mapped=a2;
C->_written_mark=r275compute_mark(X54written_mark((C)->_mapped/*12*/));
}
void r275demangling_in(T275* C,T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),'E');
/*FI]*/
r7extend(((T7*)a1),'\40');
r7append(((T7*)a1),(C)->_run_time_mark/*16*/);
}
/*No:TYPE_EXPANDED.fz_typedef*/
/*No:TYPE_EXPANDED.is_array*/
/*No:TYPE_EXPANDED.fz_int*/
/*No:TYPE_EXPANDED.tmp_string*/
T6 r275is_dummy_expanded(T275* C){
T6 R=0;
/*[IF*/
if(r275is_user_expanded(C)){
R=(r24writable_attributes((T24*)(r275run_class(C))))==((void*)(NULL));
}
/*FI]*/
return R;
}
/*No:TYPE_EXPANDED.space_for_variable*/
/*No:TYPE_EXPANDED.to_expanded*/
T0* r275generic_list(T275* C){
T0* R=NULL;
R=X54generic_list((C)->_mapped/*12*/);
return R;
}
T0* r275base_class(T275* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=r275base_class_name(C);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r64base_class(((T64*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms54_37098);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type((T0*)C,((T0*)ms13_47));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
return R;
}
void r275cast_to_ref(T275* C){
X54cast_to_ref((C)->_run_type/*20*/);
}
/*No:TYPE_EXPANDED.fz_se_cmpt*/
T0* r275base_class_name(T275* C){
T0* R=NULL;
R=X54base_class_name((C)->_mapped/*12*/);
return R;
}
/*No:TYPE_EXPANDED.is_formal_generic*/
T6 r275is_a_in(T275* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if(((C)->_written_mark/*8*/)==((void*)(X54written_mark(a1)))){
R=1;
}
else{
_ct=(((T24*)a2))->_current_type/*0*/;
_t1=r275to_runnable(C,_ct);
_t2=X54to_runnable(a1,_ct);
/*[IF*/
if((X54run_time_mark(_t1))==((void*)(X54run_time_mark(_t2)))){
R=1;
}
else{
R=X54is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_EXPANDED.body*/
T0* r275look_up_for(T275* C,T0* a1,T0* a2){
T0* R=NULL;
R=r63look_up_for((T63*)(r275base_class(C)),a1,a2);
return R;
}
/*No:TYPE_EXPANDED.fz_00*/
void r275c_type_for_external_in(T275* C,T0* a1){
/*[IF*/
/*AF*//*AE*/
r275c_type_for_result_in(C,a1);
/*FI]*/
}
void r275c_type_for_argument_in(T275* C,T0* a1){
/*[IF*/
if(X54is_expanded((C)->_mapped/*12*/)){
X54c_type_for_argument_in((C)->_mapped/*12*/,a1);
}
else if(r275is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms13_1011));
}
else{
r7extend(((T7*)a1),'T');
r2append_in(r275id(C),a1);
r7extend(((T7*)a1),'\52');
}
/*FI]*/
}
/*No:TYPE_EXPANDED.c_header_pass1*/
void r275c_type_for_target_in(T275* C,T0* a1){
/*[IF*/
if(r275is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms13_1011));
}
else{
r7extend(((T7*)a1),'T');
r2append_in(r275id(C),a1);
r7extend(((T7*)a1),'\52');
}
/*FI]*/
}
void r275c_type_for_result_in(T275* C,T0* a1){
/*[IF*/
if(r275is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms13_1011));
}
else{
r7extend(((T7*)a1),'T');
r2append_in(r275id(C),a1);
}
/*FI]*/
}
/*No:TYPE_EXPANDED.run_type*/
T0* r275expanded_initializer(T275* C){
T0* R=NULL;
R=r63expanded_initializer((T63*)(r275base_class(C)),(T0*)C);
return R;
}
void r275c_frame_descriptor(T275* C){
r7extend((T7*)(oBC12c_frame_descriptor_format),'\45');
/*[IF*/
/*AF*//*AE*/
r7extend((T7*)(oBC12c_frame_descriptor_format),'E');
/*FI]*/
r2append_in(r275id(C),oBC12c_frame_descriptor_format);
r7extend((T7*)(oBC12c_frame_descriptor_format),'\45');
}
T6 r275has_creation(T275* C,T0* a1){
T6 R=0;
R=r63has_creation((T63*)(r275base_class(C)),a1);
return R;
}
T2 r275space_for_integer(void){
T2 R=0;
R=sizeof(T2);
return R;
}
void r275c_header_pass3(T275* C){
/*[IF*/
if(r275need_c_struct(C)){
/*[IF*/
if(((C)->_run_type/*20*/)==((void*)(C))){
r275standard_c_struct(C);
}
else{
X54c_header_pass3((C)->_run_type/*20*/);
}
/*FI]*/
r275standard_c_object_model(C);
}
/*FI]*/
}
void r275gc_call_new_in(T275* C,T0* a1){
r7append(((T7*)a1),((T0*)ms13_1008));
r2append_in(r275id(C),a1);
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\51');
}
/*No:TYPE_EXPANDED.fz_new*/
T6 r275is_boolean(T275* C){
T6 R=0;
R=X54is_boolean((C)->_mapped/*12*/);
return R;
}
void r275mapping_cast(T275* C){
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_15696)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms54_15696)),'\50');
r275c_type_for_target_in(C,((T0*)ms54_15696));
r7extend((T7*)(((T0*)ms54_15696)),'\51');
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_15696));
/*]*/
}
T6 r275is_generic(T275* C){
T6 R=0;
R=X54is_generic((C)->_mapped/*12*/);
return R;
}
/*No:TYPE_EXPANDED.fz_struct*/
T6 r275is_real(T275* C){
T6 R=0;
R=X54is_real((C)->_mapped/*12*/);
return R;
}
T0* r275compute_mark(T0* a1){
T0* R=NULL;
r7copy((T7*)(oBC275tmp_written_mark),((T0*)ms13_10840));
r7extend((T7*)(oBC275tmp_written_mark),'\40');
r7append((T7*)(oBC275tmp_written_mark),a1);
R=r84item(oBC275tmp_written_mark);
return R;
}
T6 r275need_c_struct(T275* C){
T6 R=0;
/*[IF*/
if(X54is_expanded((C)->_mapped/*12*/)){
R=X54need_c_struct((C)->_mapped/*12*/);
}
else{
R=(r24writable_attributes((T24*)(r275run_class(C))))!=((void*)(NULL));
}
/*FI]*/
return R;
}
/*No:TYPE_EXPANDED.is_any*/
void r275standard_gc_define2_for_expanded(T275* C){
T2 _rcid=0;
T0* _rc=NULL;
_rc=r275run_class(C);
/*[IF*/
if(r24gc_mark_to_follow(((T24*)_rc))){
_rcid=(((T24*)_rc))->_id/*4*/;
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1776a));
r7extend((T7*)(((T0*)ms54_785024a)),'\40');
r275gc_mark_in(C,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_254aa));
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_600a));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_3077376)))))->_count)=(0);
/*]*/
r24gc_mark_fixed_size(((T24*)_rc),1,((T0*)ms54_3077376));
r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
}
/*FI]*/
}
void r275c_initialize_expanded(T275* C){
T0* _rf=NULL;
T2 _i=0;
T0* _wa=NULL;
/*[IF*/
if(r275is_dummy_expanded(C)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='0';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\173';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
_wa=r24writable_attributes((T24*)(r275run_class(C)));
_i=(((T361*)_wa))->_upper/*12*/;
while (!((_i)==(0))) {
_rf=r361item(((T361*)_wa),_i);
X54c_initialize((((T356*)_rf))->_result_type/*28*/);
_i=(_i)-(1);
/*[IF*/
if((_i)>(0)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\54';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\175';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*No:TYPE_EXPANDED.header*/
void r275standard_c_struct(T275* C){
T0* _t=NULL;
T0* _a=NULL;
T2 _mem_id=0;
T2 _i=0;
T0* _wa=NULL;
_mem_id=r275id(C);
_wa=r24writable_attributes((T24*)(r275run_class(C)));
r7copy((T7*)(((T0*)ms54_785024)),((T0*)ms13_5600));
r7extend((T7*)(((T0*)ms54_785024)),'S');
r2append_in(_mem_id,((T0*)ms54_785024));
r7extend((T7*)(((T0*)ms54_785024)),'\173');
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(((T361*)_wa))->_upper/*12*/;
while (!((_i)==(0))) {
_a=r361item(((T361*)_wa),_i);
_t=X54run_type((((T356*)_a))->_result_type/*28*/);
X54c_type_for_result_in(_t,((T0*)ms54_785024));
r7extend((T7*)(((T0*)ms54_785024)),'\40');
r7extend((T7*)(((T0*)ms54_785024)),'\137');
r7append((T7*)(((T0*)ms54_785024)),X83to_string((((T356*)_a))->_name/*16*/));
r7extend((T7*)(((T0*)ms54_785024)),'\73');
_i=(_i)-(1);
}
}
/*FI]*/
r7extend((T7*)(((T0*)ms54_785024)),'\175');
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
/*]*/
/*[IF*/
{/*AT*/r7copy((T7*)(((T0*)ms54_785024)),((T0*)ms13_1011));
r7extend((T7*)(((T0*)ms54_785024)),'\40');
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_7854));
r2append_in(_mem_id,((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms54_254));
r2append_in(_mem_id,((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms54_1675));
r2append_in(_mem_id,((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms54_976));
r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024),((T0*)ms54_87822));
}
/*FI]*/
}
T2 r275standard_space_for_object(T275* C){
T2 R=0;
T2 _i=0;
T0* _a=NULL;
T0* _wa=NULL;
T0* _rc=NULL;
_rc=r275run_class(C);
/*[IF*/
if(r24is_tagged(((T24*)_rc))){
R=r275space_for_integer();
}
/*FI]*/
_wa=r24writable_attributes(((T24*)_rc));
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(((T361*)_wa))->_upper/*12*/;
while (!((_i)==(0))) {
_a=r361item(((T361*)_wa),_i);
R=(R)+(X54space_for_variable((((T356*)_a))->_result_type/*28*/));
_i=(_i)-(1);
}
}
/*FI]*/
/*[IF*/
if((R)==(0)){
R=r275space_for_integer();
}
/*FI]*/
return R;
}
T6 r275is_basic_eiffel_expanded(T275* C){
T6 R=0;
/*[IF*/
if(((C)->_run_type/*20*/)==((void*)((C)->_mapped/*12*/))){
R=X54is_basic_eiffel_expanded((C)->_mapped/*12*/);
}
/*FI]*/
return R;
}
/*No:TYPE_EXPANDED.fz_gc_mark*/
T6 r275need_gc_mark_function(T275* C){
T6 R=0;
R=r24gc_mark_to_follow((T24*)(r275run_class(C)));
return R;
}
T6 r275is_native_array(T275* C){
T6 R=0;
T0* _tna=NULL;
_tna=(T0*)C;
if(NULL!=(_tna))switch(((T0*)_tna)->id) {
case 263:
break;
default:
_tna=NULL;
};R=(_tna)!=((void*)(NULL));
return R;
}
/*No:TYPE_EXPANDED.is_string*/
T6 r275is_integer(T275* C){
T6 R=0;
R=X54is_integer((C)->_mapped/*12*/);
return R;
}
/*No:TYPE_EXPANDED.is_anchored*/
/*No:TYPE_EXPANDED.is_run_type*/
void r275standard_c_object_model(T275* C){
T0* _rc=NULL;
T2 _mem_id=0;
_rc=r275run_class(C);
_mem_id=(((T24*)_rc))->_id/*4*/;
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms54_785024)),'T');
r2append_in(_mem_id,((T0*)ms54_785024));
r7extend((T7*)(((T0*)ms54_785024)),'\40');
r7extend((T7*)(((T0*)ms54_785024)),'M');
r2append_in(_mem_id,((T0*)ms54_785024));
r25put_extern7((T25*)(oBC12cpp),((T0*)ms54_785024));
/*[IRF3.3swap_on_c*/((((T25*)((T25*)(oBC12cpp))))->_current_out)=(oBC25out_c);
/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
/*]*/
r24c_object_model_in(((T24*)_rc),((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
/*]*/
r25swap_on_h((T25*)(oBC12cpp));
}
void r275from_other(T275* C,T0* a1,T0* a2){
C->_start_position=(((T275*)a1))->_start_position/*4*/;
C->_written_mark=(((T275*)a1))->_written_mark/*8*/;
C->_mapped=a2;
/*[IF*/
if(X54is_expanded((C)->_mapped/*12*/)){
C->_run_time_mark=X54run_time_mark((C)->_mapped/*12*/);
C->_run_type=(C)->_mapped/*12*/;
}
else{
C->_run_time_mark=r275compute_mark(X54run_time_mark((C)->_mapped/*12*/));
C->_run_type=(T0*)C;
}
/*FI]*/
}
/*No:TYPE_EXPANDED.mapped*/
/*No:TYPE_EXPANDED.is_reference*/
T0*oBC275tmp_written_mark=NULL;
/*No:TYPE_EXPANDED.is_none*/
/*No:TYPE_EXPANDED.fz_inako*/
/*No:TYPE_EXPANDED.is_like_argument*/
/*No:TYPE_EXPANDED.just_before_gc_mark_in*/
/*No:TYPE_EXPANDED.mapping_cast_memory*/
T6 r275is_double(T275* C){
T6 R=0;
R=X54is_double((C)->_mapped/*12*/);
return R;
}
void r275standard_c_typedef(T275* C){
T2 _mem_id=0;
_mem_id=r275id(C);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
/*]*/
/*[IF*/
if(r275need_c_struct(C)){
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_6568));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_5600));
r7extend((T7*)(((T0*)ms54_785024)),'S');
r2append_in(_mem_id,((T0*)ms54_785024));
r7extend((T7*)(((T0*)ms54_785024)),'\40');
r7extend((T7*)(((T0*)ms54_785024)),'T');
r2append_in(_mem_id,((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
}
else if(r275is_dummy_expanded(C)){
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_6568));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_1011));
r7extend((T7*)(((T0*)ms54_785024)),'\40');
r7extend((T7*)(((T0*)ms54_785024)),'T');
r2append_in(_mem_id,((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
}
/*AF*//*FI]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
/*]*/
}
T2 r145static_value(T145* C){
T2 R=0;
/*[IF*/
if(X54is_boolean(X56result_type((C)->_target/*4*/))){
/*[IF*/
if(X56is_static((C)->_target/*4*/)){
/*[IF*/
if((X56static_value((C)->_target/*4*/))==(0)){
R=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_PREFIX_NOT.call_proc_call_c2c*/
/*No:CALL_PREFIX_NOT.feature_name*/
void r145finalize(T145* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(C)->_run_feature/*8*/;
_rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
}
T6 r145is_static(T145* C){
T6 R=0;
/*[IF*/
if(X54is_boolean(X56result_type((C)->_target/*4*/))){
/*[IF*/
if(X56is_static((C)->_target/*4*/)){
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_PREFIX_NOT.is_manifest_string*/
T0* r145start_position(T145* C){
T0* R=NULL;
R=((T142*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
/*No:CALL_PREFIX_NOT.c_simple*/
T0* r145add_comment(T145* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r145to_integer(T145* C){
T2 R=0;
T0* _rf1=NULL;
_rf1=(C)->_run_feature/*8*/;
if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
case 376:
break;
default:
_rf1=NULL;
};/*[IF*/
if((_rf1)==((void*)(NULL))){
r145error(r145start_position(C),((T0*)ms13_45846));
}
else{
R=X56to_integer((((T376*)_rf1))->_value/*36*/);
}
/*FI]*/
return R;
}
T6 r145use_current(T145* C){
T6 R=0;
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if(R){
}
else if(X56is_current((C)->_target/*4*/)){
R=X51use_current((C)->_run_feature/*8*/);
}
else{
R=X56use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
T0* r145to_runnable(T145* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _t=NULL;
_t=r145runnable_expression((C)->_target/*4*/,a1);
_rf=r145run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*8*/)==((void*)(NULL))){
C->_target=_t;
C->_run_feature=_rf;
r145run_feature_match(C);
R=(T0*)C;
}
else if((_t)==((void*)((C)->_target/*4*/))){
R=(T0*)C;
}
else{
{T145*n=malloc(sizeof(*n));
*n=M145;
r145with(n,_t,(C)->_feature_name/*12*/,_rf);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r145compile_to_c_old(T145* C){
X56compile_to_c_old((C)->_target/*4*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*No:CALL_PREFIX_NOT.is_pre_computable*/
void r145collect_c_tmp(T145* C){
/*[IF*/
if(((C)->_run_feature/*8*/)!=((void*)(NULL))){
X51collect_c_tmp((C)->_run_feature/*8*/);
}
/*FI]*/
X56collect_c_tmp((C)->_target/*4*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*No:CALL_PREFIX_NOT.fz_iinaiv*/